//     一、文件操作  二 、目录操作 
// 文件操作 ： 1.文件写入 2.文件读取 
const fs = require("fs");
// 一、文件的删除
// 1.异步删除文件  (给权限);
// fs.unlink("./1.txt",err=>{
//     if(err){
//         return console.log(err);
//     }
//     console.log("删除成功");
// })

// 2.同步删除 ；
// try {
//     fs.unlinkSync("./1.txt")
//     console.log("删除成功");
// }catch(err){
//     console.log(err);
// }

// 二、文件的修改 文件名的修改
// 1.异步fs.rename  2.同步 fs.renameSync
// fs.rename("./1.txt","./2.txt",err=>{
//     if(err){
//         return console.log(err);
//     }
//     console.log("修改成功");
// });


// 三 、判断文件是否存在   fs.existsSync

//判断文件是否存在 ，如果存在就删除 ；
// console.log( fs.existsSync("./2.txt"))
// let filepath = "./2.txt";
// if (fs.existsSync(filepath)) {
//     // filepath 一定存在；
//     try {
//         fs.unlinkSync("./2.txt");
//         console.log("删除成功");
//     } catch (err) {
//         console.log(err)
//     }
// } else {
//     console.log("文件已经被删除了");
// }


// 四、判断是否是文件 ；
// let mypath = "./mydir/test.js";
// // 1.获取路径的详细信息对象 ；
// let stat = fs.statSync(mypath);
// // console.log(stat);
// // 2.通过详细信息对象判断是否是文件
// console.log(stat.isFile());

// 五、复制文件 ； 先读取内容 在重新写入一个文件里
// 源文件路径  ， 目标文件路径

function mycopy(src, dist) {
    // 先读取 ，在写入；
    // 同步 
    // try {
    //     fs.writeFileSync(dist, fs.readFileSync(src));
    //     console.log("复制成功");
    // } catch (err) {
    //     console.log(err)
    // }

    // 异步 
    // 回调地狱；
    fs.readFile(src, (err, data) => {
        if (err) {
            return console.log(err);
        }
        fs.writeFile(dist, data, err => {
            if (err) {
                return console.log(err);
            }
            console.log("复制成功");
        })
    })


}
mycopy("./mydir/test.js", "./mydir/test3.js");




